package com.example.mobilesafe.utils;

import android.content.Context;
import android.content.SharedPreferences;

public class SharedPreferencesUtil {

    private static SharedPreferences sp;

    /**
     * 1.写入(boolean)
     * @param ctx 上下文
     * @param key 键
     * @param value 值
     */
    public static void putBoolean(Context ctx,String key,boolean value){
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        sp.edit().putBoolean(key,value).commit();
    }

    /**
     * 2.读取(boolean)
     * @param ctx 上下文
     * @param key 键
     * @param defValue (默认)值
     * @return 默认值或者相应结果
     */
    public static boolean getBoolean(Context ctx,String key,boolean defValue){
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        return sp.getBoolean(key,defValue);
    }

    /**
     * 3.写入(string)
     * @param ctx 上下文
     * @param key 键
     * @param value 值
     */
    public static void putString(Context ctx,String key,String value){
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        sp.edit().putString(key,value).commit();
    }

    /**
     * 4.读取(string)
     * @param ctx 上下文
     * @param key 键
     * @param defValue (默认)值
     * @return 默认值或者相应结果
     */
    public static String getString(Context ctx,String key,String defValue){
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        return sp.getString(key,defValue);
    }

    /**
     * 5.写入(int)
     * @param ctx 上下文
     * @param key 键
     * @param value 值
     */
    public static void putInt(Context ctx,String key,int value){
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        sp.edit().putInt(key,value).commit();
    }

    /**
     * 6.读取(int)
     * @param ctx 上下文
     * @param key 键
     * @param defValue (默认)值
     * @return 默认值或者相应结果
     */
    public static int getInt(Context ctx,String key,int defValue){
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        return sp.getInt(key,defValue);
    }

    /**
     * 7.移除节点
     * @param ctx 上下文
     * @param key 键
     */
    public static void remove(Context ctx, String key) {
        if (sp == null){
            sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
        }
        sp.edit().remove(key).commit();
    }
}
